change return type of convert_human_[date|time]_format to QString. (#899)
authortsteven4 <13596209+tsteven4@users.noreply.github.com>
Sun, 31 Jul 2022 20:28:25 +0000 (14:28 -0600)
committerGitHub <noreply@github.com>
Sun, 31 Jul 2022 20:28:25 +0000 (14:28 -0600)
defs.h
garmin_txt.cc
util.cc

diff --git a/defs.h b/defs.h
index d576ff683423cc7007a217f703eeef9ad50e8473..be9cc7fb972b0a24d9268aaacf2135fdc41e6256 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -1083,8 +1083,8 @@ QString xml_entitize(const QString& str);
 QString html_entitize(const QString& str);
 char* strip_html(const utf_string*);
 char* strip_nastyhtml(const QString& in);
-char* convert_human_date_format(const char* human_datef);      /* "MM,YYYY,DD" -> "%m,%Y,%d" */
-char* convert_human_time_format(const char* human_timef);      /* "HH+mm+ss"   -> "%H+%M+%S" */
+QString convert_human_date_format(const char* human_datef);    /* "MM,YYYY,DD" -> "%m,%Y,%d" */
+QString convert_human_time_format(const char* human_timef);    /* "HH+mm+ss"   -> "%H+%M+%S" */
 QString pretty_deg_format(double lat, double lon, char fmt, const char* sep, bool html);    /* decimal ->  dd.dddd or dd mm.mmm or dd mm ss */
 
 QString get_filename(const QString& fname);                    /* extract the filename portion */
index 5928d595bc182a54bbb6288985623213013abe7f..b12c2a0fd0f4b61f1ed8a1108b11ddece79d3e4b 100644 (file)
@@ -190,15 +190,12 @@ init_date_and_time_format()
   // explicitly malloced and freed elsewhere. This isn't very C++ at all,
   // but this format is on its deathbead for deprecation.
   const char* d = get_option_val(opt_date_format, DEFAULT_DATE_FORMAT);
-  char* d1 = convert_human_date_format(d);
+  QString d1 = convert_human_date_format(d);
 
   const char* t = get_option_val(opt_time_format, DEFAULT_TIME_FORMAT);
-  char* t1 = convert_human_time_format(t);
+  QString t1 = convert_human_time_format(t);
 
-  xasprintf(&date_time_format, "%s %s", d1, t1);
-
-  xfree(d1);
-  xfree(t1);
+  xasprintf(&date_time_format, "%s %s", CSTR(d1), CSTR(t1));
 }
 
 static void
diff --git a/util.cc b/util.cc
index 7c7eddbad45faa1366a332c930d70049d1a29dac..41744e2ea833c77c2694742b72f3a5b7680fd863 100644 (file)
--- a/util.cc
+++ b/util.cc
@@ -962,7 +962,7 @@ rot13(const QString& s)
  * a format usable for strftime and others
  */
 
-char*
+QString
 convert_human_date_format(const char* human_datef)
 {
   char* result = (char*) xcalloc((2*strlen(human_datef)) + 1, 1);
@@ -1020,7 +1020,9 @@ convert_human_date_format(const char* human_datef)
       fatal("Invalid character \"%c\" in date format!", *cin);
     }
   }
-  return result;
+  QString rv(result);
+  xfree(result);
+  return rv;
 }
 
 /*
@@ -1028,7 +1030,7 @@ convert_human_date_format(const char* human_datef)
  * a format usable for strftime and others
  */
 
-char*
+QString
 convert_human_time_format(const char* human_timef)
 {
   char* result = (char*) xcalloc((2*strlen(human_timef)) + 1, 1);
@@ -1112,7 +1114,9 @@ convert_human_time_format(const char* human_timef)
       fatal("Invalid character \"%c\" in time format!", *cin);
     }
   }
-  return result;
+  QString rv(result);
+  xfree(result);
+  return rv;
 }